﻿using System;
using System.Collections.Generic;

namespace OverStore.TutorialAsTest.UnitTest.Configuration.Mocks
{
    class StubPersistenceSession : IPersistenceSession
    {
        public object BeginTransaction()
        {
            throw new NotImplementedException();
        }

        public void CommitTransaction(object transaction)
        {
            throw new NotImplementedException();
        }

        public void RollbackTransaction(object transaction)
        {
            throw new NotImplementedException();
        }
        
        public bool Reload<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void Reload<TInstance, TParameter>(TInstance instance, TParameter parameter)
            where TInstance : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        public void Save<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void SaveAll()
        {
            throw new NotImplementedException();
        }

        public void MarkAsDeleted<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void Add<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public TInstance GetByIdentifier<TInstance, TIdentifier>(TIdentifier objectIdentifier) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void ReloadCollection<TCollection, TParameter>(TCollection collection, TParameter parameter, object transaction)
            where TCollection : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        public void SaveCollection<TCollection>(TCollection collection, object transaction) where TCollection : class
        {
            throw new NotImplementedException();
        }

        public IEnumerable<TItemType> CreateReader<TItemType, TParameter>(TParameter parameter)
            where TItemType : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public IEnumerable<TItem> CreateReader<TItem>() where TItem : class
        {
            throw new NotImplementedException();
        }

        public void ReloadCollection<TCollection>(TCollection collection, object transaction) where TCollection : class
        {
            throw new NotImplementedException();
        }

        #region IPersistenceSession Members


        public TInstance Attach<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPersistenceSession Members


        public TInstance Attach<TInstance, TParameter>(TInstance instance, TParameter parameter)
            where TInstance : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPersistenceSession Members


        public OverStore.Scoping.OperationScope OpenScope()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPersistenceSession Members


        public void ReloadCollection<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void SaveCollection<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPersistenceSession Members


        public void ReloadCollection<TInstance, TParameter>(IEnumerable<TInstance> collection, TParameter parameter)
            where TInstance : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPersistenceSession Members


        public TInstance GetByIdentifierOrDefault<TInstance, TIdentifier>(TIdentifier objectIdentifier) where TInstance : class
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
